Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

АФІННІ ПЕРЕТВОРЕННЯ ТА АНІМАЦІЯ ЗАСОБАМИ МОВИ TURBO PASCAL

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
КН
Кафедра:
Не вказано

Інформація про роботу

Рік:
2005
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Моделювання

Частина тексту файла

МIНIСТЕРСТВО ОСВIТИ І НАУКИ УКРАЇНИ Національний унiверситет "Львiвська полiтехнiка" ЗВІТ до лабораторної роботи N 2 з курсу "Геометричне моделювання у конструюванні інженерних об'єктів і систем" АФІННІ ПЕРЕТВОРЕННЯ ТА АНІМАЦІЯ ЗАСОБАМИ МОВИ TURBO PASCAL Мета роботи: Мета роботи — ознайомитись із законами руху геометричних об'єктів на прощині та у просторі. Оволодіти математичною мовою опису динаміки та візуалізації на основі закономірностей геометричних перетворень. Набути практичних навиків розробки графічних процедур у середовищі Turbo Pascal в графічному режимі. Короткі теоретичні відомості. Геометричне перетворення - це відображення  точкии-мірного простору образу в точку n-мірного простору перетворення (де R" - евклідів простір розмірності п. Геометричне перетворення поділяються на нелінійні (наприклад, відображення у кривому дзеркалі) та лінійні. Лінійне перетворення точки описується векторним рівнянням:  з матрицями перетворення , що не залежать від вектора/?. У залежності від розмірності просторів п, гі та властивостей матриці А лінійні перетворення поділяються на невироджені (афінні) та вироджені (проективні). Афінні перетворення (від англ. affinity — подібність) — точкові взаємно однозначні відображення площини (простору) на себе, при яких прямі переходять у прямі. Якщо на площині задана декартова система координат, то кожне афінне перетворення цієї площини може бути визначене за допомогою так званого невирожденого лінійного перетворення координат х та у точок цієї площини. Аналогічно, кожне афінний простір може бути визначений за допомогою невирождених лінійних перетворень координат точок простору. Сукупність усіх афінних перетворень площини (простору) на себе утворить групу афінних перетворень. Це означає, зокрема , що послідовне проведення двох афінни перетворень еквівалентно деякому одному афіннму перетворенню. Прикладами афінних перетворень можуть бути ортогональне перетворення (це перетворення є переміщення чи площини чи простору, переміщення із дзеркальним відображенням); перетворення подоби; рівномірне „стиснення".  Приклад афінного перетворення Індивідуальне завдання. 10. Написати імгітаційну програму з застосуванням афнних перетворень, яка дозволяє в автоматичному режимі та при ручному керуванні створювати динамічно змінну візуалізацію при якій моделюеться колесо з 8 спицями (див. рис.) котиться рівномірно без прослизання по похилій площині, при досягненні горизонтальної площини воно рівномірно сповільнюється з зупинкою в правого краю. Текст програми. Program lab_2; Uses graph,crt; {оголошення змінних} Var grDriver, grMode :Integer; x,y,z,z2,x0,y0,x1,y1,k:integer; j,i: real; c:char; Begin grDriver:=Detect; InitGraph(grDriver,grMode,'c:\pascal\bgi'); {Ініціює графічний режим роботи адаптера} if GraphResult <> grOk then Halt(1); {----------------- автоматичне керування ------------------} setcolor(3);{Встановлює біжучий колір ліній } x:=100; y:=100; for z:=1 to 400 do begin cleardevice;{Очищення екрану} x0:=getmaxx div 2; y0:=getmaxy div 2; i:=i-0.314/10; if z<=217 then begin x:=x+1; y:=y+1; end else x:=x+1; line(300,357,100,157);{Виводить лінії} line(300,357,500,357); circle(x,y,40);{Виводить коло} j:=-i+3.14; for k:=1 to 8 do begin x1:=round(x+40*cos(j+3.14/4*k)); y1:=round(y+40*sin(j+3.14/4*k)); line(x1,y1,x,y); end; delay(3000);{Затримка} end; {----------------- ручне керування ------------------} z:=0; x:=100; y:=100; repeat c:=readkey; if c=#0 then c:=readkey; z:=z+1; cleardevice; x0:=getmaxx div 2; y0:=getmaxy div 2; i:=i-0.314/10; if z<=217 then begin x:=x+1; y:=y+1; end else x:=x+1; line(300,357,80,137); line(300,357,500,357); circle(x,y,40); j:=-i+3.14; for k:=1 to 8 do begin x1:=round(x+40*cos(j+3.14/4*k)); y1:=round(y+40*sin(j+3.14/4*k)); line(x1,y1,x,y); end; delay(2); until (c=#27) or (z=400); CloseGraph; {Припиняє роботу адаптера в графічному режимі} end...
Антиботан аватар за замовчуванням

02.10.2020 20:10

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини